博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导航点击选中效果重构
阅读量:6858 次
发布时间:2019-06-26

本文共 1272 字,大约阅读时间需要 4 分钟。

一、场景

最近做重构,有一个功能是,鼠标点击链接后显示不同样式:

代码如下,样式布局我修改后如下,使用bootstrap框架来做。

    
starof test

现在重点说一下:功能实现。

原来代码是这样实现链接点击样式的,给每个链接不同的class,

然后在page1.html页面定义:

.menu01{
background-color:#5dc1d1;border-radius:4px;}

同理在page2.html页面定义:

.menu02{
background-color:#5dc1d1;border-radius:4px;}

在page3.html页面定义:

.menu03{
background-color:#5dc1d1;border-radius:4px;}

menu菜单这个模块是page1.html,page2.html,page3.html三个页面公共模块,通过include来共享。这样在调用不同页面时,其他链接的样式不生效。所以可以实现被点击的链接显示不同样式的效果。

但是这样的做法是非常糟糕的。同一个样式有多少个页面就重写多少次,不同class名称对应的却是同样的样式。

这样的代码我是无法忍受的。下面用一小段js来实现同样功能。

二、用js重构

代码如下:

    
starof test

三、类似的效果

实现方式如下:通过判断用户请求的url和是哪个,就给哪个添加active样式。

{% url "addpermissionurl" as theaddpermissionurl %}
新建权限 {% url "listpermissionurl" as thelistpermissionurl %}
权限列表

 

 

 

本文作者,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:有问题欢迎与我讨论,共同进步。

 

你可能感兴趣的文章
knockout.js 练习一
查看>>
Asp.Net Core SignalR 与微信小程序交互笔记
查看>>
os.linesep提取当前平台使用的换行符
查看>>
到底什么是故事点(Story Point)?
查看>>
修改用户定义的数据类型
查看>>
网络流24题10
查看>>
多域名THINKPHP利用MEMCACHE方式共享SESSION数据(转)
查看>>
C#基础 for 穷举、迭代
查看>>
2018.3.17 模拟赛——(2)删数
查看>>
视图层
查看>>
Django跨域解决方法
查看>>
LeetCode题目分类
查看>>
为什么拷贝构造函数的参数是一个引用,可以不是引用吗
查看>>
Mysql之复制服务
查看>>
shell命令xargs解析
查看>>
我的vim配置
查看>>
银行家算法------------------狄泰软件学院
查看>>
归并排序
查看>>
译 - Cassandra 数据建模的基本规则
查看>>
Maven整理笔记の初步窥探
查看>>